package com.obggtc.picture.service.ai;

import com.obggtc.picture.dto.ai.AiChatRequest;
import com.obggtc.picture.dto.ai.AiChatResponse;
import com.obggtc.picture.enums.AiProviderEnum;

/**
 * AI服务提供商接口
 * 各个AI服务商需要实现此接口
 * 
 * @author system
 * @date 2025/09/29
 */
public interface AiProvider {
    
    /**
     * 获取提供商类型
     * 
     * @return 提供商枚举
     */
    AiProviderEnum getProviderType();
    
    /**
     * 发送聊天消息
     * 
     * @param request 聊天请求
     * @return 聊天响应
     */
    AiChatResponse chat(AiChatRequest request);
    
    /**
     * 检查服务是否可用
     * 
     * @return 是否可用
     */
    boolean isServiceAvailable();
    
    /**
     * 测试连接
     * 
     * @return 测试结果
     */
    boolean testConnection();
}
